package com.appkubes.fintech.restful.application.repair.request;


import com.appkubes.fintech.common.request.PageVO;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 维修订单
 *
 * @author xqc.
 * @date 2020/02/05 10:51:16
 */
@Data
@ToString(callSuper = true)
public class RepairOrderInfoRequest extends PageVO {

    @ApiModelProperty(name = "维修订单", value = "维修订单")
    private String id;

    @NotBlank(message = "客户ID不能为空")
    @ApiModelProperty(name = "客户ID", value = "客户ID")
    private String userId;

    @NotBlank(message = "客户姓名不能为空")
    @ApiModelProperty(name = "客户姓名", value = "客户姓名")
    private String userName;

    @NotBlank(message = "订单号不能为空")
    @ApiModelProperty(name = "订单号", value = "订单号")
    private String orderNo;

    @NotBlank(message = "设备信息不能为空")
    @ApiModelProperty(name = "设备信息", value = "设备信息")
    private String deviceInfo;

    @NotNull(message = "预估价格不能为空")
    @ApiModelProperty(name = "预估价格", value = "预估价格")
    private BigDecimal prePrice;

    @NotBlank(message = "手机平板IEe不能为空")
    @ApiModelProperty(name = "手机平板IEe", value = "手机平板IEe")
    private String iem;

    @NotBlank(message = "维修方式不能为空")
    @ApiModelProperty(name = "维修方式", value = "维修方式")
    private String repairType;

    @NotBlank(message = "收件人姓名不能为空")
    @ApiModelProperty(name = "收件人姓名", value = "收件人姓名")
    private String receiveUserName;

    @NotBlank(message = "维修人手机号不能为空")
    @ApiModelProperty(name = "维修人手机号", value = "维修人手机号")
    private String receiveUserPhone;

    @NotBlank(message = "维修人地址不能为空")
    @ApiModelProperty(name = "维修人地址", value = "维修人地址")
    private String receiveAddress;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @NotNull(message = "上门拿货时间不能为空")
    @ApiModelProperty(name = "上门拿货时间", value = "上门拿货时间")
    private Date takeDeviceTime;

    @NotBlank(message = "审批意见不能为空")
    @ApiModelProperty(name = "审批意见", value = "审批意见")
    private String approvalMsg;

    @NotNull(message = "0申请中 1人工确认 2上门收件 3确认收到 9拒绝不能为空")
    @ApiModelProperty(name = "0申请中 1人工确认 2上门收件 3确认收到 9拒绝", value = "0申请中 1人工确认 2上门收件 3确认收到 9拒绝")
    private Integer status;

    @NotBlank(message = "备注不能为空")
    @ApiModelProperty(name = "备注", value = "备注")
    private String remark;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(name = "创建时间", value = "创建时间")
    private Date createTime;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(name = "更新时间", value = "更新时间")
    private Date updateTime;

}
